<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit d'édition
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 4 || $GLOBALS['USER']['admin'])){

		// l'identifiant de la donnée à supprimer est indiqué par un entier
		if(isset($_GET['id']) && numericInt($_GET['id'])){
		
			$nb_actions = valueExists((int)$_GET['id'], "CODEACTION", "action", $connexion);
			
			if($nb_actions == 1){ // l'annexe à éditer existe et son identifiant est unique
	

//------------------------------------------------------------ Valeur des champs avant saisie
// récupération des informations de la commande
         	$query_recuperation_action = "SELECT a.NOMACTION, a.DATEDEBUT, a.DATEFIN, a.COMMENTAIRE, tp.NOMTYPEPUBLIC, th.NOMTHEMATIQUE ";
         	$query_recuperation_action .= "FROM action a ";
         	$query_recuperation_action .= "LEFT JOIN touche_public l1 INNER JOIN type_public tp ON tp.CODETYPEPUBLIC = l1.CODETYPEPUBLIC ON l1.CODEACTION = a.CODEACTION ";
         	$query_recuperation_action .= "LEFT JOIN action_a_pour_theme l2 INNER JOIN thematique th ON th.CODETHEMATIQUE = l2.CODETHEMATIQUE ON l2.CODEACTION = a.CODEACTION ";
         	$query_recuperation_action .= "WHERE a.CODEACTION = ".$_GET['id']." ";
         	$query_recuperation_action .= "GROUP BY a.CODEACTION ";

         	$result_recuperation_action = mysql_query($query_recuperation_action, $connexion) or logError("RECUPERATION ACTION-".$query_recuperation_action."-".mysql_error());

         	$tab_recuperation_action = mysql_fetch_row($result_recuperation_action);

            
            $dv_action = $tab_recuperation_action[0];
            
            if ($tab_recuperation_action[1] != "0000-00-00"){
               $dv_date_debut = strtotime($tab_recuperation_action[1]);
               $dv_date_debut_jour = date("j", $dv_date_debut); // valeur du champ jour de la date (debutJour)
            	$dv_date_debut_mois = date("n", $dv_date_debut); // valeur du champ mois de la date (debutMois)
            	$dv_date_debut_annee = date("Y", $dv_date_debut); // valeur du champ année de la date (debutAnnee)
            } else {
               $dv_date_debut_jour = "";
            	$dv_date_debut_mois = "";
            	$dv_date_debut_annee = "";
            }
            if ($tab_recuperation_action[2] != "0000-00-00"){
               $dv_date_fin = strtotime($tab_recuperation_action[2]);
               $dv_date_fin_jour = date("j", $dv_date_fin); // valeur du champ jour de la date (debutJour)
            	$dv_date_fin_mois = date("n", $dv_date_fin); // valeur du champ mois de la date (debutMois)
            	$dv_date_fin_annee = date("Y", $dv_date_fin); // valeur du champ année de la date (debutAnnee)
            } else {
               $dv_date_fin_jour = "";
            	$dv_date_fin_mois = "";
            	$dv_date_fin_annee = "";
            }
         	$dv_type_public = $tab_recuperation_action[4]; // valeur du champ passée par (edt_structure)
         	$dv_theme = $tab_recuperation_action[5]; // valeur du champ convetion signée (edt_convention)
         	$dv_commentaire = $tab_recuperation_action[3]; // valeur du champ commentaire (edt_commentaire)
            
            mysql_free_result($result_recuperation_action);
            
            $statut = array(); // indique le statut du traitement du formulaire (echec ou succes) - tableau contenant les messages à afficher
            $erreur = false; // indique si une erreur a été rencontrée lors du traitement
            
            if(isset($_POST['SendForm'])){ // si le formulaire est envoyé
   	
         		// Contrôle des données de la date de début
         		if(isset($_POST['debutJour'])&& $_POST['debutJour'] != "" && isset($_POST['debutMois'])&& $_POST['debutMois'] != "" && isset($_POST['debutAnnee'])&& $_POST['debutAnnee'] != ""){
         			
         			if(checkdate($_POST['debutMois'], $_POST['debutJour'], $_POST['debutAnnee'])){
         				$dv_modif_date_debut=$_POST['debutAnnee']."-".$_POST['debutMois']."-".$_POST['debutJour'];
         				
                     $dv_modif_date_debut_jour = $_POST['debutJour'];
         				$dv_modif_date_debut_mois = $_POST['debutMois'];
         				$dv_modif_date_debut_annee = $_POST['debutAnnee'];
         					
         			}else{
         				$statut[] = "Format de début de l'action  incorrect";
         				$erreur = true;
         			}
         		}else{
                  echo "meuh <br />";
         			$dv_modif_date_debut = "";
         		}
               
               // Contrôle des données de la date de fin
               if(isset($_POST['finJour'])&& $_POST['finJour'] != "" && isset($_POST['finMois'])&& $_POST['finMois'] != "" && isset($_POST['finAnnee'])&& $_POST['finAnnee'] != ""){
            		if(checkdate($_POST['finMois'], $_POST['finJour'], $_POST['finAnnee'])){
            			$dv_modif_date_fin=$_POST['finAnnee']."-".$_POST['finMois']."-".$_POST['finJour'];
            		}else{
                     $statut[] = "Date de fin de l'action incorrecte";
            			$erreur = true;
            		}
         		}else{
         			$dv_modif_date_fin = "";
         		}
               
                echo $dv_modif_date_debut."ouhouh ";
                     echo $dv_modif_date_fin."oezirzer <br /> ";
               
               if ($dv_modif_date_fin != "" && $dv_modif_date_debut != "" && $dv_modif_date_debut > $dv_modif_date_fin) {
               
                  $statut[] = "la date de fin de l'action précède celle de début";
         			$erreur = true;
               
               }
         		
         		// Contrôle des données de la structure expéditrice
         		if(isset($_POST['public']) && is_string($_POST['public'])){
         			if($_POST['public'] == ""){
         				$statut[] = "Aucun type de public indiqué";
         				$erreur = true;
         			}else{
         				$dv_modif_type_public = $_POST['public'];
         			}
         		}else{
         			$statut[] = "Aucun type de public indiqué";
         			$erreur = true;
         		}
         		
         		// Contrôle des données du nom de l'action
         		if(isset($_POST['nom']) && is_string($_POST['nom'])){
         			if($_POST['nom'] != ""){
         				$dv_modif_action = $_POST['nom'];
         			}else{
         				$statut[] = "Le nom de l'action n'est pas indiqué";
                     $erreur = true;
         			}
         		}else{
         			$statut[] = "Le nom de l'action n'est pas indiqué";
         			$erreur = true;
         		}
         		
         		// Contrôle des données du commentaire
         		if(isset($_POST['theme']) && is_string($_POST['theme'])){ 
         			$dv_modif_theme = $_POST['theme'];
         		}else{
         			$dv_modif_theme = "";
         		}
               
               if(isset($_POST['com']) && is_string($_POST['com'])){ 
         			$dv_modif_commentaire = $_POST['com'];
         		}else{
         			$dv_modif_commentaire = "";
         		}
               
               if(!$erreur){ // aucune erreur n'a été rencontrée jusqu'ici
                  
                  echo "blip <br />";
                  
            		// Modification des informations de la table COMMANDE_EXTERNE
            		$query_modification_action = "UPDATE action ";
            		$query_modification_action .= "SET NOMACTION = ".mysqlString($dv_modif_action).", ";
                  
                  $query_modification_action .= "DATEDEBUT = '$dv_modif_date_debut', ";
                  $query_modification_action .= "DATEFIN = '$dv_modif_date_fin', ";
                  
                  $query_modification_action .= "COMMENTAIRE = ".mysqlString($dv_modif_commentaire)." ";
                  $query_modification_action .= "WHERE CODEACTION = ".$_GET['id']." ";
            			
                  echo $query_modification_action."<br />";
                     
            		$result_modification_action = mysql_query($query_modification_action, $connexion) or logError("MODIFICATION ACTION-".$query_modification_action."-".mysql_error());

                  
                  if ($dv_modif_type_public != $dv_type_public) {
                  
                     $query_get_id_public = "SELECT CODETYPEPUBLIC FROM touche_public WHERE CODEACTION = ".$_GET['id']." ";
                     $result_get_id_public = mysql_query($query_get_id_public, $connexion) or logError("GET ID TYPEPUBLIC-".$query_get_id_public."-".mysql_error());
                     $idTypePublic = mysql_result($result_get_id_public,0);
                     
                     mysql_free_result($result_get_id_public);
                     
                     // Modification des informations de la table type_public
            			$query_modification_type_public = "UPDATE type_public ";
            			$query_modification_type_public .= "SET NOMTYPEPUBLIC = ".mysqlString($dv_modif_type_public)." ";
            			$query_modification_type_public .= "WHERE CODETYPEPUBLIC = $idTypePublic ";
            			
            			$result_modification_type_public = mysql_query($query_modification_type_public, $connexion) or logError("MODIFICATION TYPE PUBLIC-".$query_modification_type_public."-".mysql_error());
                     
                  } else {
                     $result_modification_type_public = true;
                  }
                  
                  if($dv_modif_theme != "") {
                     if($dv_theme == "") {
                     
                        $query_create_theme = "INSERT INTO thematique (NOMTHEMATIQUE) VALUES (".mysqlString($dv_modif_theme).")";
                        $result_create_theme = mysql_query($query_create_theme, $connexion) or logError("CREATION THEME-".$query_create_theme."-".mysql_error());
                        
                        $idTheme = mysql_insert_id($connexion);
                         
                        $query_assoc_action_theme = "INSERT INTO action_a_pour_theme (CODEACTION,CODETHEMATIQUE) VALUES (".$_GET['id'].",$idTheme)";
                        $result_assoc_action_theme = mysql_query($query_assoc_action_theme, $connexion) or logError("CREATION ASSOC ACTION THEME-".$query_assoc_action_theme."-".mysql_error());
                        
                        $result_modification_theme = $result_assoc_action_theme && $result_create_theme;
                     
                     } else {
                        
                        if ($dv_modif_theme != $dv_theme) {
                        $query_get_theme = "SELECT CODETHEMATIQUE FROM action_a_pour_theme WHERE CODEACTION = ".$_GET['id']." ";
                        $result_get_theme = mysql_query($query_get_theme, $connexion) or logError("GET ID THEMATIQUE-".$query_get_theme."-".mysql_error());
                        $idTheme = mysql_result($result_get_theme,0);
                        
                        mysql_free_result($result_get_theme);
                        
                        $query_modification_theme = "UPDATE thematique ";
                        $query_modification_theme .= "SET NOMTHEMATIQUE = ".mysqlString($dv_modif_theme)." ";
                        $query_modification_theme .= "WHERE CODETHEMATIQUE = $idTheme ";
            			 
                        $result_modification_theme = mysql_query($query_modification_theme, $connexion) or logError("MODIFICATION ThEME-".$query_modification_theme."-".mysql_error()); 
                        
                        } else {
                           $result_modification_theme = true;
                        }
                      
                     }
                  
                  } else {
                     
                     if($dv_theme == "") {
                     
                        $result_modification_theme = true;
                     
                     } else {
                     
                        $query_get_theme = "SELECT CODETHEMATIQUE FROM action_a_pour_theme WHERE CODEACTION = ".$_GET['id']." ";
                        $result_get_theme = mysql_query($query_get_theme, $connexion) or logError("GET ID THEMATIQUE-".$query_get_theme."-".mysql_error());
                        $idTheme = mysql_result($result_get_theme,0);
                        
                        mysql_free_result($result_get_theme);
                        
                        $query_modification_theme = "DELETE FROM action_a_pour_theme WHERE CODEACTION = ".$_GET['id']." ";
                        $result_modification_theme = mysql_query($query_modification_theme, $connexion) or logError("SUPPR ASSOC ACTION THEME-".$query_modification_theme."-".mysql_error());
                        
                     }
                     
                  }
                  
                  
         			if($result_modification_action == true && $result_modification_type_public == true && $result_modification_theme == true){
         				$statut[] = "Les informations de l'action ont été modifiées";
         				logAction("ACTION (id: ".$_GET['id'].") MODIFIEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");	
                  }else{
         				$statut[] = "Erreur critique lors de la modification de l'action";
         				$erreur = true;
         			}
                  
         		}
               if($erreur) {
                  afficherStatut($statut, 3); // appel à la fonction afficherStatut() définie dans fonctions.php
                  redirection("gestion/action_edite&id=".$_GET['id']."",2);
               } else {
                  afficherStatut($statut, 1); // appel à la fonction afficherStatut() définie dans fonctions.php
                  redirection("gestion/action_edite&id=".$_GET['id']."",2);
               }
               
   			} else {
           

   
   boutonRetour("index.php?p=gestion/action_gere"); // appel à la fonction boutonRetour() définie dans fonctions.php
   
   ?>
   
   <h2>Modification d'une Action</h2>
   
   <div class="addAction">
      <form action="" method="post"> 
         
         <div class="subtitle43"> Informations principales </div>
         
         <div class="actionTitle">        
            <span class="actionLabel1">
               Nom * :
            </span>
            <span class="actionInput1"> 
               <input type="text" name="nom" value="<?php echo $dv_action; ?>" />
            </span>
         </div>
            
         <div class="actionTitle">        
            <span class="actionLabel1">
               Public Touché * :
            </span>
            <span class="actionInput1"> 
               <input type="text" name="public" value="<?php echo $dv_type_public; ?>" />
            </span>
         </div>
         
         <div class="actionTitle">        
            <span class="actionLabel1">
               Date de début :
            </span>
            <span class="actionInput1"> 
               <select name="debutJour">
                  <option>
                  <?php
                     $cpti = 01;
                     while ($cpti<32){
                        echo "<option";
                        if ($dv_date_debut_jour != "" && $cpti == $dv_date_debut_jour) {
                           echo " selected";
                        }
                        echo "> $cpti";
                        $cpti++;
                     }   
                  
                  ?>
               </select>
               / <select name="debutMois">
                  <option>
                  <?php
                     $cpti = 01;
                     while ($cpti<13){
                        echo "<option";
                        if ($dv_date_debut_mois != "" && $cpti == $dv_date_debut_mois) {
                           echo " selected";
                        }
                        echo "> $cpti";
                        $cpti++;
                     }   
                  
                  ?>
               </select>
               / <select name="debutAnnee">
                  <option>
                  <?php
                     $cpti = 1980;
                     while ($cpti<2012){
                        echo "<option";
                        if ($dv_date_debut_annee != "" && $cpti == $dv_date_debut_annee) {
                           echo " selected";
                        }
                        echo "> $cpti";
                        $cpti++;
                     }   
                  
                  ?>
               </select>
            </span>
         </div>
         
         <div class="actionTitle">        
            <span class="actionLabel1">
               Date de fin :
            </span>
            <span class="actionInput1"> 
               <select name="finJour">
                  <option>
                  <?php
                     $cpti = 01;
                     while ($cpti<32){
                        echo "<option";
                        if ($dv_date_fin_jour != "" && $cpti == $dv_date_fin_jour) {
                           echo " selected";
                        }
                        echo "> $cpti";
                        $cpti++;
                     }   
                  
                  ?>
               </select>
               / <select name="finMois">
                  <option>
                  <?php
                     $cpti = 01;
                     while ($cpti<13){
                        echo "<option";
                        if ($dv_date_fin_mois != "" && $cpti == $dv_date_fin_mois) {
                           echo " selected";
                        }
                        echo "> $cpti";
                        $cpti++;
                     }   
                  
                  ?>
               </select>
               / <select name="finAnnee">
                  <option>
                  <?php
                     $cpti = 1980;
                     while ($cpti<2012){
                        echo "<option";
                        if ($dv_date_fin_annee != "" && $cpti == $dv_date_fin_annee) {
                           echo " selected";
                        }
                        echo "> $cpti";
                        $cpti++;
                     }   
                  
                  ?>
               </select>
            </span>
         </div>
         
         <div class="actionTitle">        
            <span class="actionLabel1">
               Thématique :
            </span>
            <span class="actionInput1"> 
               <input name="theme" value="<?php echo $dv_theme; ?>" />
            </span>
         </div>
         
         <div class="actionTitle">        
            <span class="actionLabel1">
               Commentaire :
            </span>
            <span class="actionInput1"> 
               <textarea name="com"><?php echo $dv_commentaire; ?></textarea>
            </span>
         </div>
         
         <div class="actionTitle2">
            
            <span class="actionInput2"> 
               <input type="submit" name="SendForm" value="Actualiser">
            </span>
         </div>
         
         
      </form>
   </div>
           


   <div class="information">
   	<div class="titre">Informations</div>
   	<h4>rien :</h4>
   	<p>pas d'informations.</p>
   </div>

<?php
            }
         }
      }
	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}


?>
   
   